package com.whnk.attendance.service;

import java.util.List;
import com.whnk.attendance.domain.EmpBaseInfo;
import com.whnk.attendance.vo.EmpBaseInfoListVo;
import com.whnk.attendance.vo.EmpBaseInfoQueryVo;
import com.whnk.attendance.vo.EmpBaseInfoUpdateVo;

/**
 * 人员基本信息Service接口
 * 
 * @author whnk
 * @date 2021-12-28
 */
public interface IEmpBaseInfoService 
{
    /**
     * 查询人员基本信息
     *
     * @param empId 人员基本信息主键
     * @return 人员基本信息
     */
    public EmpBaseInfo selectEmpBaseInfoByEmpId(String empId);

    /**
     * 查询人员基本信息列表
     *
     * @param empBaseInfo 人员基本信息
     * @return 人员基本信息集合
     */
    public List<EmpBaseInfo> selectEmpBaseInfoList(EmpBaseInfo empBaseInfo);

    /**
     * 新增人员基本信息
     *
     * @param empBaseInfo 人员基本信息
     * @return 结果
     */
    public int insertEmpBaseInfo(EmpBaseInfo empBaseInfo);

    /**
     * 修改人员基本信息
     *
     * @param empBaseInfo 人员基本信息
     * @return 结果
     */
    public int updateEmpBaseInfo(EmpBaseInfo empBaseInfo);

    /**
     * 批量删除人员基本信息
     *
     * @param empIds 需要删除的人员基本信息主键集合
     * @return 结果
     */
    public int deleteEmpBaseInfoByEmpIds(String[] empIds);

    /**
     * 删除人员基本信息信息
     *
     * @param empId 人员基本信息主键
     * @return 结果
     */
    public int deleteEmpBaseInfoByEmpId(String empId);

    /**
     * 分页查询人员基本信息列表
     */
    public List<EmpBaseInfoListVo> selectEmpBaseInfoListVoList(EmpBaseInfoQueryVo empBaseInfoQueryVo);

    /**
     * 根据证件号码查询人员基本信息
     */
    public EmpBaseInfoListVo selectEmpBaseInfoListVoByEmpId(String empId);

    /**
     * 校验证件号码是否唯一
     */
    public boolean checkEmpId(EmpBaseInfoUpdateVo empBaseInfoUpdateVo);

    /**
     * 新增人员基本信息
     */
    public int insertEmpBaseInfo(EmpBaseInfoUpdateVo empBaseInfoUpdateVo);

    /**
     * 修改人员基本信息
     */
    public int updateEmpBaseInfo(EmpBaseInfoUpdateVo empBaseInfoUpdateVo);

    /**
     * 导入人员基本信息
     */
    public String importData(List<EmpBaseInfoListVo> empBaseInfoList, Boolean isUpdateSupport);

    /**
     * 证件号码id,姓名name接口
     */
    public List<EmpBaseInfoListVo> empBaseList();
}
